Method for maintaining datalink network throughput by delaying lower priority messages

ABSTRACT

A method of maintaining datalink network throughput in a communications channel by delaying lower priority messages is provided. The method comprises receiving periodic channel occupancy data from a radio, and updating channel occupancy status from the channel occupancy data. A determination is then made whether the channel occupancy has reached a first predetermined occupancy threshold. If the first predetermined occupancy threshold has been reached, high priority messages are transmitted, and medium and low priority messages are stored. If the first predetermined occupancy threshold has not been reached, a determination is made whether the channel occupancy has reached a second predetermined occupancy threshold that is less than the first predetermined occupancy threshold. If the second predetermined occupancy threshold has been reached, high and medium priority messages are transmitted, and low priority messages are stored. If the second predetermined occupancy threshold has not been reached, messages of all priorities are transmitted.

RELATED APPLICATION

The present application is a continuation application of U.S.application Ser. No. 11/933,591, filed on Nov. 1, 2007, the disclosureof which is incorporated herein by reference.

BACKGROUND

Air traffic control (ATC) centers are used at most airports tocoordinate take-offs, landings, and general aircraft traffic around theairport. Traditionally, a pilot uses a radio to speak to an ATC centerto request permission or to receive instructions therefrom. Withincreasing air traffic it has become difficult for ATC centers toprocess all of the oral communications from aircraft. Consequently,datalink applications have been developed to provide textualcommunication between pilots and air traffic controllers.

An exemplary datalink application is the Aircraft Communications,Addressing, and Reporting System (ACARS), which is a two-way datacommunications system used for transmission of text messages betweenaircraft and ground stations via radio or satellite. A complete datalinkcommunication, which may be generated either manually or automatically,is referred to as a datalink message. Messages from the aircraft to theground are referred to as downlink messages and messages from the groundto the aircraft are referred to as uplink messages. Services availablevia datalink include flight plans, weather reports and forecasts, airtraffic services, and two-way messaging.

Another datalink application is the Controller Pilot Data LinkCommunication (CPDLC), which provides for the direct exchange of textmessages between an air traffic controller and a pilot. The CPDLC systemenables the pilot to communicate electronically with an ATC center byguiding the pilot through a series of screen configurations or displaysthat either elicit flight information from the pilot or notify the pilotregarding flight information. The CPDLC system is used to sendinformation between aircraft and air traffic control more safely andefficiently.

The time it takes for a datalink message to transit a network varieswith the load (i.e, message volume) on the network. Some applicationssuch as CPDLC require a specific level of performance. If the CPDLCmessages are delayed too long (e.g., 30 seconds), the messages becomestale. Other high priority messages, such as air traffic controlmessages and wind shear warnings, may also be very time critical. Ifsuch messages are delayed because of high network traffic, serioussafety issues can be raised resulting in potentially dangeroussituations for an aircraft.

SUMMARY

The present invention relates to a method of maintaining datalinknetwork throughput in a communications channel. The method comprisesreceiving periodic channel occupancy data from a radio, and updatingchannel occupancy status from the channel occupancy data. Adetermination is then made whether the channel occupancy has reached afirst predetermined occupancy threshold. If the first predeterminedoccupancy threshold has been reached, high priority messages aretransmitted, and medium and low priority messages are stored. If thefirst predetermined occupancy threshold has not been reached, adetermination is made whether the channel occupancy has reached a secondpredetermined occupancy threshold that is less than the firstpredetermined occupancy threshold. If the second predetermined occupancythreshold has been reached, high and medium priority messages aretransmitted, and low priority messages are stored. If the secondpredetermined occupancy threshold has not been reached, messages of allpriorities are transmitted.

BRIEF DESCRIPTION OF THE DRAWINGS

Features of the present invention will become apparent to those skilledin the art from the following description with reference to thedrawings. Understanding that the drawings depict only typicalembodiments of the invention and are not therefore to be consideredlimiting in scope, the invention will be described with additionalspecificity and detail through the use of the accompanying drawings, inwhich:

FIG. 1 is a flow diagram representing a method of maintaining datalinknetwork throughput in a communications channel; and

FIG. 2 is a schematic diagram depicting an avionics and ground networksystem that can implement a method of maintaining datalink networkthroughput in a communications channel.

DETAILED DESCRIPTION

In the following detailed description, embodiments are described insufficient detail to enable those skilled in the art to practice theinvention. It is to be understood that other embodiments may be utilizedwithout departing from the scope of the present invention. The followingdetailed description is, therefore, not to be taken in a limiting sense.

The present invention is directed to a method for maintaining datalinknetwork throughput in a communications channel by delaying lowerpriority messages. In general, the present method considers currentnetwork performance to determine whether to send a particular messageimmediately or store the message for later transmission when the networkis less busy. The method provides a priority scheme that sets up queuesand priorities for messaging in order to timely transmit high prioritymessages in air-to-ground or ground-to-air communications. The methodcan be implemented as part of an avionics software module and as part ofa ground station software module, which operate in an aviation datalinknetwork.

The software is used to monitor the channel occupancy and round tripmessage time data in the datalink network. For example, the avionicssoftware can measure the round trip message time and percentage of timea communication channel is occupied in the datalink network. Whennetwork congestion has caused the round trip message time and thechannel occupancy to raise to a predetermined threshold, low prioritymessages are stored for later transmission. If the network performancecontinues to decrease such that network congestion causes the round tripmessage time and the channel occupancy to rise to a higher predeterminedthreshold, low and medium priority messages are stored. Likewise, theground station software can perform similar functions. In this manner,the finite bandwidth of the communication channel is reserved for highpriority messages, which are then less likely to be delayed. When thenetwork performance improves, the stored messages can then beautomatically transmitted.

Exemplary high priority messages in an aviation datalink network includeair traffic control messages, and wind shear warnings. Exemplary mediumpriority messages include requests for weather reports, and requests fora flight plan modification. Exemplary low priority messages includeroutine aircraft engine data, and maintenance reports.

In addition to the local software functions in the avionics and groundstation, a network management function can be implemented. The networkmanagement function sends control messages to all of the subsystems inthe network to control the flow of messages based on priority.

FIG. 1 is a flow diagram representing a method 100 for maintainingdatalink network throughput in a communications channel by delayinglower priority messages. The method 100 starts when periodic channeloccupancy data is received from a radio on the ground or in the air(block 110) while the channel occupancy status is being monitored. Forexample, a standard avionic VHF radio provides channel occupancy dataevery second. The channel occupancy status is then updated (block 120),such as by monitoring round trip message time data in the network. Thechannel occupancy data from the radio can be processed in order tobetter reveal the data trend. For example, the channel occupancy datacan be filtered, smoothed, or averaged using conventional signalprocessing techniques.

A determination is then made whether the channel occupancy has reached afirst predetermined occupancy threshold (block 130). For example, thefirst predetermined occupancy threshold can be set at 45% or greateroccupancy, or at some other threshold as desired. A network operator canadjust the threshold as needed to optimize network performance. If thefirst predetermined occupancy threshold has been reached, only highpriority messages are tranmitted, and medium and low priority messagesare stored in memory for later transmittal (block 140). The method 100then continues to monitor the channel occupancy status. If the firstpredetermined occupancy threshold has not been reached, a determinationis then made whether the channel occupancy has reached a secondpredetermined occupancy threshold that is less than the first threshold(block 150). For example, the second predetermined occupancy thresholdcan be set at 40% or greater occupancy, or at some other threshold asdesired that is less than the first predetermined occupancy threshold.If the second predetermined occupancy threshold has been reached, onlyhigh and medium priority messages are tranmitted, and low prioritymessages are stored for later transmittal (block 160). The method 100then continues to monitor the channel occupancy status. If the secondpredetermined occupancy threshold has not been reached, messages of allpriorities are transmitted (block 170), and the method 100 continues tomonitor the channel occupancy status.

When the network performance improves and drops below the firstpredetermined occupancy threshold, the stored medium priority messagesare transmitted at a reasonable rate in order to attempt to preventcongestion from reoccurring. When the network performance improvesfurther and drops below the second predetermined occupancy threshold,the stored low priority messages are transmitted at a reasonable rate inorder to attempt to prevent congestion from reoccurring.

The method 100 can be implemented in both avionics software for anaircraft and in ground station software for an air traffic controlworkstation. For example, FIG. 2 is a schematic diagram depicting anavionics and ground network system 200 that can implement the method100. An aircraft 202 contains at least one aircraft computer 204, suchas a communication management unit, or a communication managementfunction imbedded in general purpose avionics computer. The aircraftcomputer 204 includes a readable medium having instructions storedthereon for a method of maintaining datalink network throughput in acommunications channel, such as method 100 described previously. Theinstructions stored on the readable medium of aircraft computer 204 canbe part of an avionics software module for aircraft 202.

A ground network 220 has at least one ground station 222, containing aground station computer 224, in operative communication with aircraftcomputer 204. The ground network 220 also has a router 226 that directsdownlink messages from ground station computer 224 to ground computersattached to ground network 220, such as an air traffic control computer227 or an airline computer 228. The router 226 manages the network suchthat it is possible to deliver uplink messages from the ground computersattached to ground network 220 via ground station computer 224 toaircraft computer 204. The ground station computer 224 and/or router 226include a readable medium also having instructions stored thereon for amethod of maintaining datalink network throughput in a communicationschannel, such as method 100. The instructions stored on the readablemedium of ground station computer 224 and/or router 226 can be part of asoftware module for network management in ground network 220.

In a method for operating avionics and ground network system 200, whichmaintains datalink network throughput in a communications channel, oneor more messages having a first priority (high priority) are generatedby aircraft 202 or ground computers such as air traffic control computer227 or airline computer 228. Additionally, one or more messages having asecond priority (medium priority) that is lower than the first priorityis generated, and one or more messages having a third priority (lowpriority) that is lower than the second priority is generated. Theaircraft computer 204 receives periodic network channel occupancy datafrom a radio in the aircraft when the aircraft is airborne and on theground. The ground network 220, ground station computer 224, and/orrouter 226 receive periodic network channel occupancy data from a radioin the ground station 222.

A channel occupancy status is updated from the channel occupancy data,and a determination is made whether the channel occupancy has reached afirst predetermined occupancy threshold (e.g., 45% or greater). If thefirst predetermined occupancy threshold has been reached, messageshaving the first priority are transmitted, and messages having thesecond priority and the third priority are stored at aircraft computer204, ground station computer 224, or router 226 for later transmittal.An alert indication can be provided to the pilot or air trafficcontroller when messages are being stored. If the first predeterminedoccupancy threshold has not been reached, a determination is madewhether the channel occupancy has reached a second predeterminedoccupancy threshold (e.g., 40% or greater) that is less than the firstpredetermined occupancy threshold. If the second predetermined occupancythreshold has been reached, messages having the first priority and thesecond priority are transmitted, and messages having the third priorityare stored for later transmittal. If the second predetermined occupancythreshold has not been reached, messages of all priorities aretransmitted.

The present method can be implemented as part of the datalink softwarein a communication management function (CMF), such as the EPIC® CMF(available from Honeywell), of a communication management unit (CMU), orin any other avionics communication computer in an aircraft. The presentmethod can also be implemented in a flight deck communications function(FDCF); in datalink avionics equipment from original equipmentmanufacturers (OEMs); and in buyer furnished equipment (BFE) datalinkavionics equipment for airlines. Additionally, the present method can beimplemented in ground datalink systems operated by service providerssuch as ARINC and SITA, and can provide the communication protocols tothe datalink software in an air traffic control (ATC) computer.

The present method can be used in fixed applications which include fixedmessage sets driven by industry standards, and in variable applications.Examples of fixed applications include the Aircraft Communications,Addressing, and Reporting System (ACARS); Future Air Navigation Systems(FANS), such as Controller Pilot Data Link Communications (CPDLC) whichis used to supply controller/aircrew exchange services; FlightInformation Service (FIS); Air Traffic Services (ATS) FacilitiesNotification (AFN), which is the FANS application used for Data LinkInitiation Capability (DLIC), with DLIC being a datalink function usedto associate technical addresses for datalink with a flight plan in theground system; and Automatic Dependent Surveillance (ADS). Otherexemplary fixed applications with fixed message sets driven by industrystandards include those in the Aeronautical Telecommunications Network(ATN), and Context Management (CM), which is the ATN application usedfor DLIC. Examples of variable message sets that are user definedinclude Airline Operational Communications (AOC), and AeronauticalAdministration Communication (AAC).

Instructions for carrying out the various process tasks, calculations,and generation of signals and other data used in the operation of themethod of the invention can be implemented in software, firmware, orother computer readable instructions. These instructions are typicallystored on any appropriate computer readable medium used for storage ofcomputer readable instructions or data structures. Such computerreadable media can be any available media that can be accessed by ageneral purpose or special purpose computer or processor, or anyprogrammable logic device.

Suitable computer readable media may comprise, for example, non-volatilememory devices including semiconductor memory devices such as EPROM,EEPROM, or flash memory devices; magnetic disks such as internal harddisks or removable disks; magneto-optical disks; CDs, DVDs, or otheroptical storage disks; nonvolatile ROM, RAM, and other like media; orany other media that can be used to carry or store desired program codemeans in the form of computer executable instructions or datastructures. Any of the foregoing may be supplemented by, or incorporatedin, specially-designed application-specific integrated circuits (ASICs),or field programmable gate arrays (FPGAs). When information istransferred or provided over a network or another communicationsconnection (either hardwired, wireless, or a combination of hardwired orwireless) to a computer, the computer properly views the connection as acomputer readable medium. Thus, any such connection is properly termed acomputer readable medium. Combinations of the above are also includedwithin the scope of computer readable media.

The method of the invention can be implemented in computer readableinstructions, such as program modules or applications, which areexecuted by a data processor. Generally, program modules or applicationsinclude routines, programs, objects, data components, data structures,algorithms, and the like, which perform particular tasks or implementparticular abstract data types. These represent examples of means forexecuting steps of the methods disclosed herein. The particular sequenceof such executable instructions or associated data structures representexamples of corresponding acts for implementing the functions describedin such steps.

The present invention may be embodied in other specific forms withoutdeparting from its essential characteristics. The described embodimentsare to be considered in all respects only as illustrative and notrestrictive. The scope of the invention is therefore indicated by theappended claims rather than by the foregoing description. All changesthat come within the meaning and range of equivalency of the claims areto be embraced within their scope.

1. A system comprising: means for receiving periodic channel occupancydata from a radio; means for updating channel occupancy status from thechannel occupancy data; means for determining whether the channeloccupancy has reached a first predetermined occupancy threshold; meansfor transmitting high priority messages, and storing medium and lowpriority messages, when the first predetermined occupancy threshold hasbeen reached; means for determining whether the channel occupancy hasreached a second predetermined occupancy threshold that is less than thefirst predetermined occupancy threshold when the first predeterminedoccupancy threshold has not been reached; means for transmitting highand medium priority messages, and storing low priority messages, whenthe second predetermined occupancy threshold has been reached; and meansfor transmitting messages of all priorities when the secondpredetermined occupancy threshold has not been reached.
 2. The system ofclaim 1, wherein the system is implemented in an aircraftcommunications, addressing, and reporting system (ACARS).
 3. The systemof claim 1, wherein the system is implemented in future air navigationsystems (FANS).
 4. The system of claim 1, wherein the system isimplemented in a controller pilot data link communication (CPDLC)system.
 5. The system of claim 1, wherein the system is implemented in adata link initiation capability system.
 6. The system of claim 1,wherein the system is implemented in a flight information servicesystem.
 7. The system of claim 1, wherein the system is implemented inan air traffic services facilities notification system.
 8. The system ofclaim 1, wherein the system is implemented in an aeronauticaltelecommunication network (ATN).
 9. The system of claim 1, wherein thesystem is implemented in a context management system.
 10. The system ofclaim 1, wherein the system is implemented in an automatic dependentsurveillance system.
 11. The system of claim 1, wherein the system isimplemented in an airline operational communications system, or anaeronautical administration communication system.
 12. The system ofclaim 1, wherein the system is implemented in a communication managementfunction of a communication management unit
 13. The system of claim 1,wherein the system is implemented in a flight deck communicationsfunction.
 14. The system of claim 1, wherein the system is implementedin an air traffic control computer.
 15. A method comprising: receivingperiodic channel occupancy data from a radio; updating channel occupancystatus from the channel occupancy data; determining whether the channeloccupancy has reached a first predetermined occupancy threshold;transmitting high priority messages, and storing medium and low prioritymessages, when the first predetermined occupancy threshold has beenreached; determining whether the channel occupancy has reached a secondpredetermined occupancy threshold that is less than the firstpredetermined occupancy threshold when the first predetermined occupancythreshold has not been reached; transmitting high and medium prioritymessages, and storing low priority messages, when the secondpredetermined occupancy threshold has been reached; transmittingmessages of all priorities when the second predetermined occupancythreshold has not been reached; and wherein the method is implemented aspart of communication protocols for an aeronautical telecommunicationnetwork (ATN), or a future air navigation systems (FANS) network. 16.The method of claim 15, wherein the method is implemented as part of thecommunication protocols for a controller pilot data link communication(CPDLC) system.
 17. The method of claim 15, wherein the method isimplemented as part of the communication protocols for a contextmanagement system.
 18. The method of claim 15, wherein the method isimplemented as part of the communication protocols for an automaticdependent surveillance system.
 19. The method of claim 15, wherein themethod is implemented as part of the communication protocols for a datalink initiation capability system.
 20. The method of claim 15, whereinthe method is implemented as part of the communication protocols for aflight information service system.